package com.tsd.jxc.stock.entity;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 出库单
 *
 * @author Hillpool
 * @date 2023/03/29 16:48:21
 */
@ApiModel(description = "出库单")
public class JxcStockOutbill implements Serializable {

    @ApiModelProperty(value = "自动增长的数字序号", example = "1")
    private Long id;

    @ApiModelProperty(value = "编程代码设置的uuid", example = "1")
    private String sid;

    @ApiModelProperty(value = "创建时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date create_date;

    @ApiModelProperty(value = "创建人sid", example = "1")
    private String creator_sid;

    @ApiModelProperty(value = "创建人名称", example = "1")
    private String creator_name;

    @ApiModelProperty(value = "更新时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date update_date;

    @ApiModelProperty(value = "更新人sid", example = "1")
    private String updator_sid;

    @ApiModelProperty(value = "更新人名称", example = "1")
    private String updator_name;

    @ApiModelProperty(value = "审核日期", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date audit_date;

    @ApiModelProperty(value = "审核人sid", example = "1")
    private String auditor_sid;

    @ApiModelProperty(value = "审核人姓名", example = "1")
    private String auditor_name;

    @ApiModelProperty(value = "上级id", example = "1")
    private String parent_sid;

    @ApiModelProperty(value = "sys_group的sid，与creator_sid相关，保存时关联写入", example = "1")
    private String group_sid;

    @ApiModelProperty(value = "归属sid，可以是sys_user_sid，也可以是sys_group的sid，需要根据不同的业务场景确定", example = "1")
    private String owner_sid;

    @ApiModelProperty(value = "编码，本级编码", example = "1")
    private String code;

    @ApiModelProperty(value = "完整编码，点号分隔形成多级编码", example = "1")
    private String full_code;

    @ApiModelProperty(value = "名称", example = "1")
    private String name;

    @ApiModelProperty(value = "排序", example = "1")
    private Integer sn;

    @ApiModelProperty(value = "状态，1-有效，-1-删除", example = "1")
    private Integer state;

    @ApiModelProperty(value = "删除标志，0-未删除，1-已删除", example = "1")
    private Integer dr;

    @ApiModelProperty(value = "删除时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date dr_date;

    @ApiModelProperty(value = "删除人员sid", example = "1")
    private String dr_user_sid;

    @ApiModelProperty(value = "删除人名称 ", example = "1")
    private String dr_user_name;

    @ApiModelProperty(value = "备注", example = "1")
    private String note_info;

    @ApiModelProperty(value = "年份", example = "1")
    private Integer yyyy;

    @ApiModelProperty(value = "月份", example = "1")
    private Integer mm;

    @ApiModelProperty(value = "日期", example = "1")
    private Integer dd;

    @ApiModelProperty(value = "旬，1-上旬，2-中旬，3-下旬", example = "1")
    private Integer ten_days;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private BigDecimal ext0;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private BigDecimal ext1;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private BigDecimal ext2;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private BigDecimal ext3;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext4;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext5;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext6;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext7;

    @ApiModelProperty(value = "扩展预留字段", example = "1")
    private String ext8;

    @ApiModelProperty(value = "是否有附件文件", example = "1")
    private Integer file;

    @ApiModelProperty(value = "记录增加类型，single-单个增加，bat-批量增加，imp-导入，api-api调用增加", example = "1")
    private String add_type;

    @ApiModelProperty(value = "客户sid，sys_client的sid", example = "1")
    private String client_sid;

    @ApiModelProperty(value = "供应商sid，sys_supplier的sid", example = "1")
    private String supplier_sid;

    @ApiModelProperty(value = "stock_warehouse的sid", example = "1")
    private String warehouse_sid;

    @ApiModelProperty(value = "stock_position的sid", example = "1")
    private String position_sid;

    @ApiModelProperty(value = "商品信息（item的商品名称摘要）", example = "1")
    private String goods_info;

    @ApiModelProperty(value = "出库数量", example = "1")
    private BigDecimal out_qty;

    @ApiModelProperty(value = "出库日期", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh", timezone = "GMT+8")
    private Date out_date;

    @ApiModelProperty(value = "出库类型，sale-销售出库、buy_return-采购退货出库、allocation-调拨出库", example = "1")
    private String out_type;

    @ApiModelProperty(value = "仓储数量", example = "1")
    private Integer position_qty;

    @ApiModelProperty(value = "数据来源sid，例如销售订单sid，退货单sid", example = "1")
    private String src_sid;

    @ApiModelProperty(value = "数据来源code，例如销售订单code，退货单code", example = "1")
    private String src_code;

    @ApiModelProperty(value = "审核状态,0-待审核，1-审核通过，-1审核不通过", example = "1")
    private Integer audit_state;

    @ApiModelProperty(value = "执行状态,0-待执行，1-已执行", example = "1")
    private Integer execute_state;

    @ApiModelProperty(value = "执行时间，根据出库单更新库存时间", example = "1")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date execute_date;

    @ApiModelProperty(value = "执行人sid", example = "1")
    private String executor_sid;

    @ApiModelProperty(value = "执行人姓名", example = "1")
    private String executor_name;

    @ApiModelProperty(value = "出库年份：格式yyyy", example = "1")
    private Integer out_yyyy;

    @ApiModelProperty(value = "出库月份：格式yyyyMM", example = "1")
    private Integer out_yyyymm;

    @ApiModelProperty(value = "出库日期：格式yyyyMMdd", example = "1")
    private Integer out_yyyymmdd;

    @ApiModelProperty(value = "对账标志：0-未对账、1-部分对账、2-已对账", example = "1")
    private Integer pay_req_state;


    public Long getId() {
        return this.id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getSid() {
        return this.sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public Date getCreate_date() {
        return this.create_date;
    }

    public void setCreate_date(Date create_date) {
        this.create_date = create_date;
    }

    public String getCreator_sid() {
        return this.creator_sid;
    }

    public void setCreator_sid(String creator_sid) {
        this.creator_sid = creator_sid;
    }

    public String getCreator_name() {
        return this.creator_name;
    }

    public void setCreator_name(String creator_name) {
        this.creator_name = creator_name;
    }

    public Date getUpdate_date() {
        return this.update_date;
    }

    public void setUpdate_date(Date update_date) {
        this.update_date = update_date;
    }

    public String getUpdator_sid() {
        return this.updator_sid;
    }

    public void setUpdator_sid(String updator_sid) {
        this.updator_sid = updator_sid;
    }

    public String getUpdator_name() {
        return this.updator_name;
    }

    public void setUpdator_name(String updator_name) {
        this.updator_name = updator_name;
    }

    public Date getAudit_date() {
        return this.audit_date;
    }

    public void setAudit_date(Date audit_date) {
        this.audit_date = audit_date;
    }

    public String getAuditor_sid() {
        return this.auditor_sid;
    }

    public void setAuditor_sid(String auditor_sid) {
        this.auditor_sid = auditor_sid;
    }

    public String getAuditor_name() {
        return this.auditor_name;
    }

    public void setAuditor_name(String auditor_name) {
        this.auditor_name = auditor_name;
    }

    public String getParent_sid() {
        return this.parent_sid;
    }

    public void setParent_sid(String parent_sid) {
        this.parent_sid = parent_sid;
    }

    public String getGroup_sid() {
        return this.group_sid;
    }

    public void setGroup_sid(String group_sid) {
        this.group_sid = group_sid;
    }

    public String getOwner_sid() {
        return this.owner_sid;
    }

    public void setOwner_sid(String owner_sid) {
        this.owner_sid = owner_sid;
    }

    public String getCode() {
        return this.code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getFull_code() {
        return this.full_code;
    }

    public void setFull_code(String full_code) {
        this.full_code = full_code;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getSn() {
        return this.sn;
    }

    public void setSn(Integer sn) {
        this.sn = sn;
    }

    public Integer getState() {
        return this.state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getDr() {
        return this.dr;
    }

    public void setDr(Integer dr) {
        this.dr = dr;
    }

    public Date getDr_date() {
        return this.dr_date;
    }

    public void setDr_date(Date dr_date) {
        this.dr_date = dr_date;
    }

    public String getDr_user_sid() {
        return this.dr_user_sid;
    }

    public void setDr_user_sid(String dr_user_sid) {
        this.dr_user_sid = dr_user_sid;
    }

    public String getDr_user_name() {
        return this.dr_user_name;
    }

    public void setDr_user_name(String dr_user_name) {
        this.dr_user_name = dr_user_name;
    }

    public String getNote_info() {
        return this.note_info;
    }

    public void setNote_info(String note_info) {
        this.note_info = note_info;
    }

    public Integer getYyyy() {
        return this.yyyy;
    }

    public void setYyyy(Integer yyyy) {
        this.yyyy = yyyy;
    }

    public Integer getMm() {
        return this.mm;
    }

    public void setMm(Integer mm) {
        this.mm = mm;
    }

    public Integer getDd() {
        return this.dd;
    }

    public void setDd(Integer dd) {
        this.dd = dd;
    }

    public Integer getTen_days() {
        return this.ten_days;
    }

    public void setTen_days(Integer ten_days) {
        this.ten_days = ten_days;
    }

    public BigDecimal getExt0() {
        return this.ext0;
    }

    public void setExt0(BigDecimal ext0) {
        this.ext0 = ext0;
    }

    public BigDecimal getExt1() {
        return this.ext1;
    }

    public void setExt1(BigDecimal ext1) {
        this.ext1 = ext1;
    }

    public BigDecimal getExt2() {
        return this.ext2;
    }

    public void setExt2(BigDecimal ext2) {
        this.ext2 = ext2;
    }

    public BigDecimal getExt3() {
        return this.ext3;
    }

    public void setExt3(BigDecimal ext3) {
        this.ext3 = ext3;
    }

    public String getExt4() {
        return this.ext4;
    }

    public void setExt4(String ext4) {
        this.ext4 = ext4;
    }

    public String getExt5() {
        return this.ext5;
    }

    public void setExt5(String ext5) {
        this.ext5 = ext5;
    }

    public String getExt6() {
        return this.ext6;
    }

    public void setExt6(String ext6) {
        this.ext6 = ext6;
    }

    public String getExt7() {
        return this.ext7;
    }

    public void setExt7(String ext7) {
        this.ext7 = ext7;
    }

    public String getExt8() {
        return this.ext8;
    }

    public void setExt8(String ext8) {
        this.ext8 = ext8;
    }

    public Integer getFile() {
        return this.file;
    }

    public void setFile(Integer file) {
        this.file = file;
    }

    public String getAdd_type() {
        return this.add_type;
    }

    public void setAdd_type(String add_type) {
        this.add_type = add_type;
    }

    public String getClient_sid() {
        return this.client_sid;
    }

    public void setClient_sid(String client_sid) {
        this.client_sid = client_sid;
    }

    public String getSupplier_sid() {
        return this.supplier_sid;
    }

    public void setSupplier_sid(String supplier_sid) {
        this.supplier_sid = supplier_sid;
    }

    public String getWarehouse_sid() {
        return this.warehouse_sid;
    }

    public void setWarehouse_sid(String warehouse_sid) {
        this.warehouse_sid = warehouse_sid;
    }

    public String getPosition_sid() {
        return this.position_sid;
    }

    public void setPosition_sid(String position_sid) {
        this.position_sid = position_sid;
    }

    public String getGoods_info() {
        return this.goods_info;
    }

    public void setGoods_info(String goods_info) {
        this.goods_info = goods_info;
    }

    public BigDecimal getOut_qty() {
        return this.out_qty;
    }

    public void setOut_qty(BigDecimal out_qty) {
        this.out_qty = out_qty;
    }

    public Date getOut_date() {
        return this.out_date;
    }

    public void setOut_date(Date out_date) {
        this.out_date = out_date;
    }

    public String getOut_type() {
        return this.out_type;
    }

    public void setOut_type(String out_type) {
        this.out_type = out_type;
    }

    public Integer getPosition_qty() {
        return this.position_qty;
    }

    public void setPosition_qty(Integer position_qty) {
        this.position_qty = position_qty;
    }

    public String getSrc_sid() {
        return this.src_sid;
    }

    public void setSrc_sid(String src_sid) {
        this.src_sid = src_sid;
    }

    public String getSrc_code() {
        return this.src_code;
    }

    public void setSrc_code(String src_code) {
        this.src_code = src_code;
    }

    public Integer getAudit_state() {
        return this.audit_state;
    }

    public void setAudit_state(Integer audit_state) {
        this.audit_state = audit_state;
    }

    public Integer getExecute_state() {
        return this.execute_state;
    }

    public void setExecute_state(Integer execute_state) {
        this.execute_state = execute_state;
    }

    public Date getExecute_date() {
        return this.execute_date;
    }

    public void setExecute_date(Date execute_date) {
        this.execute_date = execute_date;
    }

    public String getExecutor_sid() {
        return this.executor_sid;
    }

    public void setExecutor_sid(String executor_sid) {
        this.executor_sid = executor_sid;
    }

    public String getExecutor_name() {
        return this.executor_name;
    }

    public void setExecutor_name(String executor_name) {
        this.executor_name = executor_name;
    }

    public Integer getOut_yyyy() {
        return this.out_yyyy;
    }

    public void setOut_yyyy(Integer out_yyyy) {
        this.out_yyyy = out_yyyy;
    }

    public Integer getOut_yyyymm() {
        return this.out_yyyymm;
    }

    public void setOut_yyyymm(Integer out_yyyymm) {
        this.out_yyyymm = out_yyyymm;
    }

    public Integer getOut_yyyymmdd() {
        return this.out_yyyymmdd;
    }

    public void setOut_yyyymmdd(Integer out_yyyymmdd) {
        this.out_yyyymmdd = out_yyyymmdd;
    }

    public Integer getPay_req_state() {
        return this.pay_req_state;
    }

    public void setPay_req_state(Integer pay_req_state) {
        this.pay_req_state = pay_req_state;
    }

}
